/**
 * File Info：com.softisland.config.common.BaseController.java
 * Created Date：2017年4月27日 上午10:10:18
 * Created User: mys
 */
package com.mys.springboot.config.base;

import java.util.Map;

import org.springframework.web.servlet.ModelAndView;

/**
 * @description
 * 
 * @author mys
 * @version 1.0
 *
 */
public class BaseController {

	
	/**
	 * 
	 * @Description
	 *		创建视图模板对象
	 * @CreatedDate 2017年4月28日 上午9:51:04
	 * @CreatedUser mys
	 * @Version 1.0
	 * @LastUpdateDate 2017年4月28日 上午9:51:04
	 * @LastUpdateUser mys
	 * @param template
	 * @return
	 */
	protected ModelAndView createModelAndView(String template) {
		return new ModelAndView(template);
	}
	
	/**
	 * 
	 * @Description
	 *		创建视图模板对象
	 * @CreatedDate 2017年4月28日 上午11:18:31
	 * @CreatedUser mys
	 * @Version 1.0
	 * @LastUpdateDate 2017年4月28日 上午11:18:31
	 * @LastUpdateUser mys
	 * @param template
	 * @param attributeName
	 * @param attributeValue
	 * @return
	 */
	protected ModelAndView createModelAndView(String template, String attributeName, Object attributeValue) {
		ModelAndView mv = this.createModelAndView(template);
		mv.addObject(attributeName, attributeValue);
		return mv;
	}
	
	/**
	 * 
	 * @Description
	 *		创建视图模板对象
	 * @CreatedDate 2017年4月28日 上午11:18:40
	 * @CreatedUser mys
	 * @Version 1.0
	 * @LastUpdateDate 2017年4月28日 上午11:18:40
	 * @LastUpdateUser mys
	 * @param template
	 * @param attributeValues
	 * @return
	 */
	protected ModelAndView createModelAndView(String template, Object... attributeValues) {
		ModelAndView mv = this.createModelAndView(template);
		if (attributeValues != null && attributeValues.length > 0) {
			for (int i = 0; i < attributeValues.length; i++) {
				mv.addObject(attributeValues[i]);
			}
		}
		return mv;
	}
	
	
	/**
	 * 
	 * @Description
	 *		创建视图模板对象
	 * @CreatedDate 2017年4月28日 上午11:18:45
	 * @CreatedUser mys
	 * @Version 1.0
	 * @LastUpdateDate 2017年4月28日 上午11:18:45
	 * @LastUpdateUser mys
	 * @param template
	 * @param modelMap
	 * @return
	 */
	protected ModelAndView createModelAndView(String template, Map<String, ?> modelMap) {
		ModelAndView mv = this.createModelAndView(template);
		mv.addAllObjects(modelMap);
		return mv;
	}
}
